package com.example.entity.vo.request;

import jakarta.validation.constraints.Email;
import lombok.Data;
import org.hibernate.validator.constraints.Length;

/**
 * 作者:xuSen
 * 日期2025/4/19 17:48
 * 用于电子邮件重置密码的值对象类
 * 这个类封装了重置密码所需的信息，包括电子邮件、验证码和新密码
 */
@Data
public class EmailResetVO {
    /**
     * 用户的电子邮件地址
     * 使用@Email注解验证电子邮件格式，确保提供的电子邮件地址是有效的
     */
    @Email
    private String email;

    /**
     * 验证码，用于验证用户的身份
     * 验证码长度被限制为6个字符，以平衡安全性和可用性
     */
    @Length(min = 6, max = 6)
    private String code;

    /**
     * 用户的新密码
     * 密码长度被限制在6到20个字符之间，以确保密码的复杂度和安全性
     */
    @Length(min = 6, max = 20)
    private String password;
}

